Mid-cycle electricity outage monitoring system

ABSTRACT

A method, computer program product, and system for tracking scheduled and unscheduled tasks of devices in case of an electrical power outage is provided. The method includes providing a hub connected to an electrically powered device, where the hub is powered by an uninterruptible power source. The method further includes continually recording data regarding the operational state of the electrically powered device using one or more sensors attached to the electrically powered device. The method further includes tracking progress of tasks associated with the electrically powered device, based on the continual recording of data regarding the operational state of the electrically powered device. The method further includes, upon detecting a power outage followed by a restore of power, identifying an expected activity to resume a task associated with the electrically powered device, based on the tracked progress of the task prior to the power outage.

BACKGROUND

The present invention relates generally to the field of power outages,and more particularly to tracking scheduled and unscheduled tasks ofdevices in case of an electrical power outage.

An electrical grid, also referred to as a power grid, is aninterconnected network for delivering electricity to consumers. Anelectrical grid consists of a plurality of generating stations thatproduce electrical power that high voltage transmission lines carry todemand centers, and distribution lines that connect individualcustomers. As electricity became more widespread, larger plants wereconstructed to satisfy the demand for more electricity, and biggertransmission lines were used to transmit electricity from farther away.As a result, electrical grids have become more complex resulting ininstability that leads to power outages.

A power outage, also referred to as a power failure or a blackout, is adisruption to the electrical power to a particular area. A power outagecan be a short-term or long-term.

The Internet of Things (IoT) is a system of interrelated computingdevices, mechanical/digital machines, and objects that are provided withunique identifiers and the ability to transfer data over a networkwithout requiring human-to-human or human-to-computer interaction.

SUMMARY

Embodiments of the present invention disclose a method, computer programproduct, and system for tracking scheduled and unscheduled tasks ofdevices in case of an electrical power outage. The method includesproviding a hub connected to an electrically powered device, where thehub is powered by an uninterruptible power source, and where the hub isadapted to monitor one or more sensors attached to the electricallypowered device. The method further includes continually recording, byone or more processors of the hub, data regarding the operational stateof the electrically powered device using the one or more sensorsattached to the electrically powered device. The method further includestracking, by one or more processors of the hub, progress of one or moretasks associated with the electrically powered device, based on thecontinual recording of data regarding the operational state of theelectrically powered device. The method further includes, upon detectinga power outage followed by a restore of power, identifying, by one ormore processors of the hub, an expected activity to resume a taskassociated with the electrically powered device, based on the trackedprogress of the task prior to the power outage.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a functional block diagram illustrating a task monitoringenvironment, in an embodiment, in accordance with the present invention.

FIG. 2 is an illustration depicting operational steps of an IoT taskmonitor in a task monitoring environment, in an embodiment, inaccordance with the present invention.

FIG. 3 is a flowchart depicting operational steps of an IoT taskmonitor, on a server within the task monitoring environment of FIG. 1,for monitoring one or more tasks of an IoT device, in an embodiment, inaccordance with the present invention.

FIG. 4 is a flowchart depicting operational steps of an IoT taskmonitor, on a server within the task monitoring environment of FIG. 1,for detecting a power outage that affects one or more IoT devices, in anembodiment in accordance with the present invention.

FIG. 5 is a flowchart depicting operational steps of an IoT taskmonitor, on a server within the task monitoring environment of FIG. 1,for resuming one or more tasks on one or more IoT devices once power isrestored, in an embodiment, in accordance with the present invention.

FIG. 6 is an illustration of an example of a summary notification sentto a user, in an embodiment, in accordance with the present invention.

FIG. 7 depicts a block diagram of components of the server executing theIoT task monitor, in an embodiment in accordance with the presentinvention.

DETAILED DESCRIPTION

Embodiments in accordance with the present invention recognize thatinstability within electric grids worldwide leads to power outages.Power outages are typically unannounced to the common homeowner and cancause difficulty in re-starting scheduled and unscheduled tasks ofdevices and appliances after the power outage has completed.

When electricity power outages occur today, there is a lack ofobservation and notification(s) for any appliances, tasks, and machinesthat are running in mid-cycle. For example, certain jobs, tasks, and/orapplications may not be able to restart upon regaining electrical powerwithout proper intervention from the user. This creates a problem forusers, as it requires that users must always be aware of what ispotentially running in case of an unplanned power outage. Without priorknowledge of what is processing (in flight), the user will not be ableto manually check and restart any particular machines or devices afterthe power outage has completed and electricity has been restored.

Embodiments in accordance with the present invention will now bedescribed in detail with reference to the Figures. FIG. 1 is afunctional block diagram, generally designated 100, illustrating a taskmonitoring environment, in an embodiment in accordance with the presentinvention.

Task monitoring environment 100 includes server 102, IoT device 118,mobile device 132 and other computing devices (not shown), allinterconnected over network 116. Server 102 includes random accessmemory (RAM) 104, central processing unit (CPU) 106, persistent storage108, and user interface 110. Server 102 may be a Web server, or anyother electronic device or computing system, capable of processingprogram instructions and receiving and sending data. In someembodiments, server 102 may be a laptop computer, a tablet computer, anetbook computer, a personal computer (PC), a desktop computer, apersonal digital assistant (PDA), a smart phone, or any programmableelectronic device capable of communicating over a data connection tonetwork 116. In other embodiments, server 102 may represent servercomputing systems utilizing multiple computers as a server system, suchas in a distributed computing environment. In general, server 102 isrepresentative of any electronic device or combinations of electronicdevices capable of executing machine-readable program instructions andcommunicating with IoT device 118 and mobile device 132 via network 116and with various components and devices (not shown) within taskmonitoring environment 100.

Server 102 includes persistent storage 108. Persistent storage 108 may,for example, be a hard disk drive. Alternatively, or in addition to amagnetic hard disk drive, persistent storage 108 may include a solidstate hard drive, a semiconductor storage device, read-only memory(ROM), erasable programmable read-only memory (EPROM), flash memory, orany other computer-readable storage medium that is capable of storingprogram instructions or digital information.

Server 102 includes user interface 110. User interface 110 is a programthat provides an interface between a user of server 102 and a pluralityof applications that reside on a mobile device (e.g., IoT Mobile App144) and/or may be accessed over network 116. A user interface, such asuser interface 110, refers to the information (e.g., graphic, text,sound) that a program presents to a user and the control sequences theuser employs to control the program. A variety of types of userinterfaces exist. In one embodiment, user interface 110 is a graphicaluser interface. A graphical user interface (GUI) is a type of interfacethat allows users to interact with peripheral devices (i.e., externalcomputer hardware that provides input and output for a computing device,such as a keyboard and mouse) through graphical icons and visualindicators as opposed to text-based interfaces, typed command labels, ortext navigation. The actions in GUIs are often performed through directmanipulation of the graphical elements. User interface 110 sends andreceives information through IoT task monitor 114 to mobile device 132.Server 102 may include internal and external hardware components, asdepicted and described in further detail with respect to FIG. 7.

Operating system 112 and IoT task monitor 114 are stored in persistentstorage 108. Operating system 112 enables server 102 to communicate withIoT device 118, mobile device 132 and other computing devices (notshown) of task monitoring environment 100 over a data connection onnetwork 116. IoT task monitor 114 includes a computer program, or a setof computer programs, that enables server 102 to monitor all applicabletasks that are both scheduled and unscheduled or that may be occurringwhen a power outage occurs. Additionally, IoT task monitor 114 can tracktasks that are in progress and notify a user when a power outage occurs.In other example embodiments, IoT task monitor 114 can be components ofan operating system 112.

In FIG. 1, network 116 is shown as the interconnecting fabric betweenserver 102, IoT device 118, mobile device 132, and with variouscomponents and devices (not shown) within task monitoring environment100. In practice, the connection may be any viable data transportnetwork, such as, for example, a LAN or WAN. Network 116 can be forexample, a local area network (LAN), a wide area network (WAN) such asthe Internet, or a combination of the two, and include wired, wireless,or fiber optic connections. In general, network 116 can be anycombination of connections and protocols that will supportcommunications between server 102, IoT device 118, mobile device 132,and with various components and devices (not shown) within taskmonitoring environment 100.

IoT device 118 is included in task monitoring environment 100. IoTdevice 118 includes random access memory (RAM) 120, central processingunit (CPU) 122, persistent storage 124, and user interface 126. IoTdevice 118 may be a Web server, or any other electronic device orcomputing system, capable of processing program instructions andreceiving and sending data. In some embodiments, IoT device 118 mayinclude one or more components of a laptop computer, a tablet computer,a netbook computer, a personal computer (PC), a desktop computer, apersonal digital assistant (PDA), a smart phone, or any programmableelectronic device capable of communicating over a data connection tonetwork 116. In other embodiments, IoT device 118 may represent servercomputing systems utilizing multiple computers as a server system, suchas in a distributed computing environment. In general, IoT device 118 isrepresentative of any electronic devices or combinations of electronicdevices capable of executing machine-readable program instructions andcommunicating with server 102 and mobile device 132 via network 116 andwith various components and devices (not shown) within task monitoringenvironment 100.

IoT device 118 includes persistent storage 124. Persistent storage 124may, for example, be a hard disk drive. Alternatively, or in addition toa magnetic hard disk drive, persistent storage 124 may include a solidstate hard drive, a semiconductor storage device, read-only memory(ROM), erasable programmable read-only memory (EPROM), flash memory, orany other computer-readable storage medium that is capable of storingprogram instructions or digital information. Operating system 128 andtask software 130 are stored in persistent storage 124. Operating system128 enables IoT device 118 to detect and establish a connection toserver 102, mobile device 132, and other computing devices (not shown)of task monitoring environment 100 over a data connection on network116. Task software 130 are computer programs, or sets of computerprograms, that enables IoT device 118 to notify IoT task monitor 114 ofone or more scheduled and unscheduled tasks, as well as the status of atask that is in progress.

IoT device 118 includes user interface 126. User interface 126 is aprogram that provides an interface between a user of IoT device 118 anda plurality of applications that reside on IoT device 118 (e.g., tasksoftware 130) and/or may be accessed over network 116. A user interface,such as user interface 126, refers to the information (e.g., graphic,text, sound) that a program presents to a user and the control sequencesthe user employs to control the program. A variety of types of userinterfaces exist. In one embodiment, user interface 126 is a graphicaluser interface. User interface 126 sends and receives informationthrough task software 130 to server 102. In other embodiments, userinterface 126 can send and receive information through task software 130to mobile device 132. In the example embodiment of FIG. 1, an IoT sensorin IoT device 118 is equipped with an uninterruptable power supply.

Mobile device 132 is included in task monitoring environment 100. Mobiledevice 132 includes random access memory (RAM) 134, central processingunit (CPU) 136, persistent storage 138, and user interface 140. Mobiledevice 132 may be a Web server, or any other electronic device orcomputing system, capable of processing program instructions andreceiving and sending data. In some embodiments, mobile device 132 maybe a laptop computer, a tablet computer, a netbook computer, a personalcomputer (PC), a desktop computer, a personal digital assistant (PDA), asmart phone, or any programmable electronic device capable ofcommunicating over a data connection to network 116. In otherembodiments, mobile device 132 may represent server computing systemsutilizing multiple computers as a server system, such as in adistributed computing environment. In general, mobile device 132 isrepresentative of any electronic devices or combinations of electronicdevices capable of executing machine-readable program instructions andcommunicating with server 102 and IoT device 118 via network 116 andwith various components and devices (not shown) within task monitoringenvironment 100.

Mobile device 132 includes persistent storage 138. Persistent storage138 may, for example, be a hard disk drive. Alternatively, or inaddition to a magnetic hard disk drive, persistent storage 138 mayinclude a solid state hard drive, a semiconductor storage device,read-only memory (ROM), erasable programmable read-only memory (EPROM),flash memory, or any other computer-readable storage medium that iscapable of storing program instructions or digital information.

Operating system 142 and IoT mobile app 144 are stored in persistentstorage 138, as well as software that enables mobile device 132 tocommunicate with server 102, IoT device 118, and other computing devices(not shown) of task monitoring environment 100 over a data connection onnetwork 116. In other example embodiments, IoT mobile app 144 may becomponents of an operating system 112.

IoT mobile app 144 is a computer program, or set of computer programs,that is stored in persistent storage 138. IoT mobile app 144 enables auser of mobile device 132 to receive status notifications from IoT taskmonitor 114 on server 102. For example, upon starting a scheduled taskon IoT device 118, task software 130 can notify IoT mobile app 144 onmobile device 132, wherein the notification can indicate the devicetype, current task, a start time of the current task, number of cyclesfor the task to complete, length of time of each of the cycles, and anexpected end time for the task. In another example embodiment, upondetecting a power outage that affects IoT device 118 during a mid-cycleof a task, IoT task monitor 114 can notify IoT mobile app 144 on mobiledevice 132 of the power outage, wherein the notification can indicatethe device type, current task, a start time of the current task, numberof cycles for the task to complete, length of time of each of thecycles, an expected resume time, an indication on whether IoT device 118will require user intervention when power is restored, and an expectedend time for the task if user intervention is not required.

Mobile device 132 includes user interface 140. User interface 140 is aprogram that provides an interface between a user of mobile device 132and a plurality of applications that reside on mobile device 132 (e.g.,IoT mobile app 144), and/or applications on computing devices that maybe accessed over a data connection on network 116 (e.g., IoT taskmonitor 114 on server 102 and task software 130 on IoT device 118). Auser interface, such as user interface 140, refers to the information(e.g., graphic, text, sound) that a program presents to a user and thecontrol sequences the user employs to control the program. Userinterface 140 is a type of interface that allows users to interact withperipheral devices (i.e., external computer hardware that provides inputand output for a computing device, such as a keyboard and mouse) throughgraphical icons and visual indicators as opposed to text-basedinterfaces, typed command labels, or text navigation. For example, theactions in GUIs are often performed through direct manipulation of thegraphical elements. A variety of types of user interfaces exist. In oneembodiment, user interface 140 is a GUI. In another embodiment, userinterface 140 may be a web user interface (WUI) and can display text,documents, web browser user interface, user options, applicationinterfaces, and instructions for operation, and includes the information(such as graphic, text, and sound) that a program presents to a user andthe control sequences the user employs to control the program. Userinterface 140 may also be mobile application software that provides aninterface between a user of mobile device 132 and other computingdevices over a data connection on network 116. Mobile applicationsoftware, or an “app,” is a computer program designed to run on smartphones, tablet computers and other computing devices (not shown) of taskmonitoring environment 100. User interface 140 enables a user of mobiledevice 132 to schedule one or more tasks for IoT device 118. Forexample, a user of mobile device 132 can use user interface 140 toschedule a task using task software 130 on IoT device 118, wherein thetask is scheduled to begin at 9:00 AM. A user can additionally set oneor more parameters for the task on IoT device 118 that indicate whetheror not to send status notifications via IoT task monitor 114 or directlyto IoT mobile app 144. For example, the user can indicate to onlyreceive a notification when the task is complete and/or if a poweroutage occurs.

FIG. 2 is an illustration, generally designated 200, depictingoperational steps of an IoT task monitor 114 in task monitoringenvironment 100, in an embodiment in accordance with the presentinvention. In an example embodiment, IoT task monitor 114 is configuredon server 102 to monitor a location—such as a home or business—of taskmonitoring environment 100. In one example embodiment, server 102 canreside in the home or business and be equipped with an uninterruptablepower source (UPS) to prevent loss of data or operations during anunplanned electrical event such as a power outage. In another exampleembodiment, IoT task monitor 114 can be a Cloud service and monitor ahome or business of task monitoring environment 100. In other exampleembodiments, IoT task monitor 114 can be contained in a hub attached toan electrically powered device, such as IoT device 118, wherein the hubis powered by an uninterruptible power source.

IoT task monitor 114 establishes communications with an IoT device 118,wherein IoT device 118 includes one or more IoT sensors that can detectand transmit operational states, configured settings, and conditions toIoT task monitor 114 as indicated by reference indicator 202.Additionally, a user (e.g., administrator), can configure IoT taskmonitor 114 to send notifications to one or more devices, such as asmartphone, table computer, or smart watch.

Upon detecting a new task (e.g., a new job), IoT device 118 notifies IoTtask monitor 114 that new job has been started, or scheduled, andidentifies the initial stage. For example, upon starting a new task by auser or by a previously scheduled task, IoT device 118 informs IoT taskmonitor 114 that the new job has been started, and is in an initialstage. As the task progresses, IoT device 118 transmits notifications toIoT task monitor 114 of staging or cycling status as indicated byreference indicator 202. For example, IoT task monitor 114 can receivenotifications from one or more configured IoT devices of task monitoringenvironment 100 and store the real-time status, cycle, or stage for eachof the one or more IoT devices.

As depicted by reference indicator 204, an electricity event (e.g., apower failure), occurs causing one or more IoT devices to stopmid-cycle, or to halt and abort current executing tasks. For example, asa result of the power failure, an IoT enabled wash machine stopsmid-cycle. IoT task monitor 114 identifies an expected activity withinthe normal pattern for the new job (e.g. expected 1 hour of alternatinghot and cold cycles from the IoT sensor of the IoT enabled washingmachine), however, the next expected update notification has notoccurred. In other example embodiments, IoT task monitor 114 candetermine a lost connection to IoT device 118 via a transmission controlprotocol (TCP) keepalive feature. TCP keepalive is a message sent by onenetworking device to another to check that the link, or connection,between the two devices is operating, or to prevent the link from beingbroken. Devices, or hosts, that support TCP keepalive periodically senda TCP packet to a peer which solicits a response. After a certain numberof keepalives are sent with no response, also referred to as anacknowledge (ACK), being received, then the sending host will terminatethe connection from its end. In yet another example embodiment, server102 can inform IoT task monitor 114 upon losing power and switching overto a UPS. For example, upon losing power, server 102 can detect that theUPS has been enabled and inform IoT task monitor 114.

IoT task monitor 114 captures the state of the one or more IoT enableddevices at the time of the detected power outage as depicted byreference indicator 206. For example, IoT task monitor 114 can retrievethe stored real-time status of the one or more IoT enabled devices. IoTtask monitor 114 then records data on the one or more IoT enableddevices that are affected by the power outage and marks, or indicates,which IoT enabled devices cannot recover without human intervention. Forexample, IoT task monitor 114 indicates that a certain IoT enableddevice (e.g., a dryer), will require a human to press a start buttononce power is restored.

IoT task monitor 114 creates a summary notification that lists the oneor more IoT enabled devices, and indicates which IoT devices willrequire human intervention, and transmits the summary notification to auser as depicted by reference indicator 208. For example, IoT taskmonitor 114 indicates that a power outage has affected a plurality ofIoT enabled devices at a certain time of day. Furthermore, IoT taskmanager indicates the affected IoT enabled devices that will requireuser intervention, such as a washing machine, pool pump, and amicrowave. Additionally, IoT task monitor 114 can indicate one or moreIoT enabled devices that are unaffected by the power outage, such as arefrigerator, a freezer, lights, and a heating/cooling HVAC system.

Upon detecting that power is restored, IoT task monitor 114reestablishes connections to the one or more IoT sensors of the one ormore IoT devices as depicted by reference indicator 210. For example,upon receiving an indication that server 102 is no longer running on theUPS and power has been restored, IoT task manager 114 reestablishesconnections to the one or more IoT enabled devices (e.g., IoT device118), and determines the states of each IoT enabled device via one ormore IoT enabled sensors. IoT task manager 114 then determines if ahuman became involved with IoT device 118 during the power outage bycomparing the current state with the last stored real-time state beforethe power outage. IoT task monitor 114 then restarts the previous cyclefor each IoT enabled device. For example, IoT task manager 114 can resetclocks, timers, and previous cycles based on the last stored real-timestate of the IoT device. If IoT task monitor 114 cannot restart theprevious task for an IoT device, the affected IoT device is flagged inanother summary message that for the user as depicted by referenceindicator 212. For example, IoT task manager 114 creates another summarynotification to inform the user that power has been restored. IoT taskmonitor 114 then indicates which IoT enabled devices have been restartedand which IoT enabled devices now require human intervention in order toresume one or more tasks.

IoT task monitor 114 then determines cognitive trends using dataanalytics and statistical modeling as depicted by reference indicator214. For example, using the recorded data on all IoT enabled devicesthat are affected by electrical power outages. IoT task monitor 114 canreport trends to the user, such as common times during the day whenpower outages frequently occur, one or more times during the day wherepower outages are least likely to occur, and one or more IoT enableddevices that frequently cannot recover without human intervention when apower outage occurs. IoT task manager 114 can then utilize statisticalmodeling with cognitive learning to determine if certain machines andjobs can run at a better, or best, time of day based on time andelectrical power outage pattern analysis. In another example embodiment,IoT task monitor 114 can use an adaptive multi-task learning system forsurvival analysis (MTLSA). Survival analysis is defined as a set ofmethods for analyzing data (e.g., IoT sensor data for scheduled andunscheduled tasks on one or more IoT enabled devices), where the outcomevariable is the time until the occurrence of an event of interest (e.g.,a power outage). It should be noted that this learning system outperforms non survival-based systems due to the domain specific datatypes.

FIG. 3 is a flowchart, generally designated 300, depicting operationalsteps of an IoT task monitor, on a server within the task monitoringenvironment of FIG. 1, for monitoring one or more tasks of an IoTdevice, in an embodiment in accordance with the present invention. Inone example embodiment, a user starts an unscheduled task on IoT device118. For example, a user places laundry in IoT device 118 and using userinterface 126, selects a wash cycle and presses a start button. Inanother example embodiment, the user can place the laundry in IoT deviceat a previous time (e.g., the night before), and can use IoT mobile app144 on mobile device 132 to remotely start a wash cycle.

IoT task monitor 114 receives an indication that one or more new jobshave been scheduled from an IoT device 118 as depicted in step 302. Forexample, in response to the user pressing the start button on userinterface 126, task software 130 notifies IoT task monitor 114 of thestarted task. In another example embodiment, task software 130 cannotify IoT task monitor 114 of all states or activity occurring on IoTdevice 118. For example, task monitor can inform IoT task monitor 114when laundry is placed into IoT device 118. IoT task monitor 114 canthen receive indications of what buttons are being pressed on userinterface 126.

In step 304, IoT task monitor 114 determines the task and the initialstage of the one or more scheduled jobs on IoT device 118. For example,IoT task monitor 114 analyzes the received notification from tasksoftware 130 on IoT device 118 and determines, for each of the scheduledjobs, a device type, a selected task (e.g., wash cycle, mode ofoperation, or selected setting), a start time of the selected task, anumber of cycles for the task to complete, a length of time of each ofthe cycles, and an expected end time for each of the scheduled jobs. Inthe example embodiment of FIG. 3, IoT task monitor 114 can determinethat the user manually started a wash cycle on IoT device 118 and thatthe load size is set to small. Additionally, IoT task monitor 114 cananalyze the received indication to determine the current state of thecurrent task, wherein the water temperature selection is set to “hotwater” for a wash cycle and “cold water” for a rinse cycle. In otherexample embodiments, IoT task monitor 114 can access one or more IoTsensors (not shown) of IoT device 118 to determine one or more scheduledand unscheduled tasks, where the task is comprised of a wash cycle, aload size of the laundry, a water temperature setting, a start time ofthe task, and a completion time of the task.

IoT task monitor 114 receives updates on the task progress, notificationof staging, or cycling status of the one or more scheduled jobs of IoTdevice 118 as depicted in step 306. For example, IoT task monitor 114can continually receive notifications on the status of the current taskfrom task software 130, wherein the updated notification indicates thecurrent wash cycle of the task, a load size of the laundry, a watertemperature setting (e.g., hot for wash and cold for rinse), a starttime of the task, a completion time for the current cycle, and acompletion time of the entire task. In other example embodiments, IoTtask monitor 114 can determine the status of the current task using oneor more IoT sensors in IoT device 118. For example, IoT task monitor 114can access one or more IoT sensors of IoT device 118 to determine thecurrent wash cycle of the task, a load size of the laundry, a watertemperature setting (e.g., hot for wash and cold for rinse), a starttime of the task, a completion time for the current cycle, and acompletion time of the entire task. Additionally, IoT task monitor 114can determine, via an IoT sensor, whether the user forgot to add fabricsoftener in a fabric softener dispenser when starting the current task(e.g., wash cycle).

In step 308, IoT task monitor 114 stores the updated task progress,notification of staging, or cycling status of the one or more scheduledjobs of IoT device 118. For example, IoT task monitor 114 stores theupdated notification in persistent storage 108, wherein the updatednotification can indicate, or reflect, the current wash cycle of thetask, a load size of the laundry, a water temperature setting (e.g., hotfor wash and cold for rinse), a start time of the task, a completiontime for the current cycle, and a completion time of the entire task.

In decision step 310, IoT task monitor 114 determines if a current taskhas completed. For example, IoT task monitor 114 analyzes the receivedupdated notification to determine the current stage in the cycle. Inanother example embodiment, IoT task monitor 114 can access one or moreIoT sensors on IoT device 118 to determine the status of the currentwash cycle. If IoT task monitor 114 determines that a current task hasnot completed (“No” branch, decision step 310), IoT task monitor 114repeats steps 306 and 308 as depicted in FIG. 3. If IoT task monitor 114determines that a current task has completed (“Yes” branch, decisionstep 310), IoT task monitor 114 notifies IoT mobile app 144 on mobiledevice 132 of the task completion as depicted in step 312. For example,IoT task monitor 114 creates a summary message to transmit to IoT mobileapp 144 on mobile device 132, wherein the summary message can contain,but not limited to, the following: an identification of the device(e.g., IoT device 118), a task identifier (e.g., the completed washcycle or wash selection), a time of day the task was scheduled to run, atime of day the task was started, a length of time the task required tocomplete, and a time of day the task completed.

FIG. 4 is a flowchart, generally designated 400, depicting operationalsteps of an IoT task monitor 114, on a server within the task monitoringenvironment of FIG. 1, for detecting a power outage that affects one ormore IoT devices, in an embodiment in accordance with the presentinvention. Continuing the example embodiment of FIG. 3, IoT device 118is currently executing a task and updating IoT task monitor 114 withupdate notifications to enable IoT task monitor to track the progress ofthe executing task. An electrical event causes one or more IoT devicesto stop mid-cycle, or halt and abort a current task as depicted in step402. For example, an unexpected power outage occurs causing IoT device118 to stop in mid-cycle.

In step 404, based upon the stored job tasks of the one or more IoTdevices, IoT task monitor 114 identifies an expected next activitywithin the normal task cycle that has not occurred for each IoT device.For example, based on the stored wash cycle of IoT device 118, IoTMonitor 114 expects a next cycle to begin within a certain time periodfrom the last received update notification. For example, IoT taskmonitor 114 last received an update notification from task software 130indicating a wash cycle had begun on IoT device 118. Based on previousupdates from past tasks of the same selected wash settings, IoT taskmonitor expects an update indicating a rinse cycle has begun on IoTdevice 118 in ten minutes. Upon passing the time limit to receive theupdate notification can then try to read one or more IoT sensors on IoTdevice to determine the status of the current wash cycle.

For each IoT device affected by the electrical event, IoT task monitor114 collects data and indicates which IoT device will require humanintervention as depicted in step 406. For example, IoT task monitor 114records data on all devices that are affected by the power outage andindicates one or more devices that cannot automatically recover withouthuman intervention. Continuing with the previous example embodiment, IoTtask monitor determines if IoT device 118 can be restarted at theprevious state or cycle that was in progress when the power outageoccurred. If IoT task monitor 114 is unable to restart IoT device 118 atthe previous state or cycle, IoT device 118 is indicated as requiringhuman intervention.

IoT task monitor 114 notifies IoT mobile app 144 on mobile device 132 ofthe halted tasks of the one or more IoT devices as depicted in step 408.For example, IoT task monitor 114 creates a summary message to informthe user of IoT device 118 that a power outage has occurred that willaffect one or more devices. For example, the summary message canidentify IoT device 118 and a plurality of other IoT enabled devicessuch as a pool pump, a microwave, a kitchen oven, and a coffee machine.Additionally, IoT task monitor 114 can identify one or more devices thatwill not be affected by the power outage. For example, the summarymessage can identify a plurality of other IoT enabled devices such as arefrigerator, a freezer, lights not on a timer, and a cooling andheating HVAC system, that will not be affected by the power outage. Inaddition to identifying one or more affected and non-affected devices ofthe power outage, IoT task monitor 114 can indicate one or more of theaffected devices that will require user intervention to resume theprevious operation.

FIG. 5 is a flowchart, generally designated 500, depicting operationalsteps of an IoT task monitor, on a server within the task monitoringenvironment of FIG. 1, for resuming one or more tasks on one or more IoTdevices once power is restored, in an embodiment in accordance with thepresent invention. Continuing with the previous example embodiment, IoTtask manager 114 determines IoT device 118 has experienced a poweroutage mid-cycle into a task. Upon notifying a user of mobile device 132that IoT device 118 experienced a power outage, and after a certainamount of time has passed, IoT task monitor 114 determines theelectrical event has passed and re-establishes communication with one ormore IoT devices as depicted in step 502. For example, upon power beingrestored to IoT device 118, task software 130 re-establishescommunication to IoT task monitor 114 and transmits information from oneor more IoT sensors within IoT device 118. In one example embodiment,upon detecting that power has been restored to IoT device 118, IoT taskmonitor 114 is able to reset a clock that is displayed on user interface126 of IoT device 118.

In step 504, IoT task monitor 114 analyzes the one or more IoT devicesto determine if a user became involved in the previous electrical event.For example, IoT monitor 114 analyzes the received information from tasksoftware 130 and the one or more IoT sensors to determine the currentstate of IoT device 118 and if a user became involved during theelectrical event. For example, IoT task manager 114 determines if a userchanged the state of the machine in any way during the power outage. Forexample, a user may have decided to remove the wet clothes and take themto a Laundromat. In another example embodiment, IoT task monitor 114determines that the previous state was a wash cycle that did notcomplete and one or more IoT sensors indicate that water is still in thetub. Additionally, a user checked the state of IoT device 118 during thepower outage and left the lid open.

IoT task monitor 114 determines if a previous task of the one or moreIoT devices was affected by the electrical event as depicted in step506. For example, IoT task monitor 114 determines that the previousstate was a wash cycle that did not complete and one or more IoT sensorsindicate that water is still in the tub. In other example embodiment,IoT task monitor 114 compares the current state of IoT device 118 to thelast stored state before the power outage. For example, IoT task monitor114 retrieves the last stored state of the reported task from tasksoftware 130 and compares it to information received once power isrestored from task software 130 and the one or more IoT sensors in IoTdevice 118.

In step 508, IoT task monitor 114 restarts the one or more affectedtasks of the one or more IoT devices. For example, IoT task monitor 114can instruct task software 130 to resume the wash cycle for theremaining wash cycle at the moment power was lost. In other exampleembodiments, IoT task monitor 114 can take the length of time power waslost into consideration when determining to resume the wash cycle. Forexample, if the wash cycle had only two minutes remaining when IoTdevice 118 lost power, and the power outage lasted for an hour, IoT taskmonitor 114 can instruct task software to begin the next cycle in thetask (e.g., rinse cycle).

IoT task monitor 114 sends a summary report to IoT mobile app 144 onmobile device 132 listing the IoT devices affected by the electricalevent, and the number of IoT devices requiring user attention asdepicted in step 510. For example, IoT task monitor 114 creates asummary message identifying IoT device 118 and a plurality of other IoTenabled devices such as a pool pump, a microwave, a kitchen oven, and acoffee machine. Furthermore, IoT task monitor 114 indicates in thesummary message that IoT device 118 requires user intervention tocontinue operating as depicted in FIG. 6.

FIG. 6 is an illustration, generally designated 600, of an example of asummary notification sent to a user, in an embodiment, in accordancewith the present invention. It should be appreciated that FIG. 6provides only an illustration of one implementation and does not implyany limitations with regard to the environments in which differentembodiments may be implemented. Many modifications to the depictedsummary notification may be made. In the example embodiment of FIG. 6,IoT task monitor 114 identifies: the affected IoT device as a “washingmachine”; the expected cycle/stage before the power outage occurred; alikely recover time that the power can be returned; a requirement ofuser intervention; a proximate human (e.g., if a human is nearby,adjacent, or within a certain proximity); a relative distance from theuser of mobile device 132; a relative distance of the user of mobiledevice 132 during the previous power outage; a notificationrecommendation; a likeliness of being fixed or event success (e.g., aprobability that the issue will be resolved or the event will succeed);a statistical likelihood (e.g., a probability); and a useridentification (ID). In other example embodiments, IoT task monitor 114can indicate “Washer lid is open. Please close lid to continue.” in thesummary message.

In another example embodiment, IoT task monitor 114 can track an IoTenabled pool water pump. For example, IoT task monitor can establish aconnection to one or more IoT sensors of a pool pump to receivednotifications on scheduled activity. For example, the pool pump can bescheduled to run during a certain time of day (e.g., 9:00 AM to 10:00PM). Upon experiencing a power outage, which causes the pool pump tomiss a scheduled start time, IoT task monitor 114, once reestablishing aconnection to the IoT sensor of the pool pump, can reset the currenttime of day. Upon resetting the current time of day, IoT task monitor114 can retrieve the last transmitted schedule of the pool pump, storedin persistent storage 108, and determine that the pool pump wouldnormally be at the current time of day. IoT task monitor can then startthe pool pump for the remainder of the scheduled run time of the day.

In another example embodiment, IoT task monitor 114 can track anunscheduled task such as an IoT enabled night light that must bemanually turned ON/OFF by pressing a push button. Upon experiencing apower outage, which causes the IoT enabled night light to lose power andtherefore not be turned on when power is restored, IoT task monitor 114can notify a user of mobile device 132 that the night light will have tobe manually turned on again. Additionally, IoT task monitor 114 candetermine that turning on the night light occurs daily at 8:00 PM. Uponaccessing one or more IoT sensors of the night light and detecting thata person is in bed, but that the night light was not turned on, IoT taskmonitor 114 can then notify IoT mobile app 144, on mobile device 132, toremind the user to manually turn on the night light.

In another example embodiment, IoT task monitor can track an IoT enabledcoffee maker. Upon detecting an unplanned power outage, IoT task monitor114 notifies a user of mobile device 132 of the power outage and theaffected coffee machine. For example, IoT task monitor 114 can create asummary notification that identifies the IoT enabled coffee maker, thetime of day the power outage occurred, and suggest an alternate sourcefor coffee on the commute to work for the user of mobile device 132. Inanother example embodiment, upon power being restored to the IoT enabledcoffee maker, IoT task monitor 114 can reprogram the IoT enabled coffeemaker with the last received schedule stored in persistent storage 108.

In another example embodiment, a hub can be connected to IoT device 118,wherein the hub is powered by an uninterruptible power source (UPS), andwherein the hub can perform the steps described by the presentinvention. For example, a hub powered by a UPS can be attached to anelectrically powered appliance, such as IoT device 118, and monitor oneor more IoT sensors to determine and track all applicable tasks that areboth scheduled and unscheduled or that may be occurring. The attachedhub can continually record data regarding the operational state of theelectrically powered device using the one or more sensors attached tothe electrically powered device. For example, the attached hub canrecord and store the current state of IoT device 118 and anticipate anext state regarding to the scheduled and unscheduled tasks. Forexample, the attached hub can detect that a user started an unscheduledtask (e.g., a wash cycle on IoT device 118). The attached hub can trackthe progress of one or more tasks associated with the electricallypowered device, based on the continual recording of data regarding theoperational state of the electrically powered device. For example, theattached hub can determine the IoT device is currently in a wash cycle,and the current wash cycle will end in three minutes wherein the nextcycle (e.g., spin cycle) will begin. Upon detecting a power outagefollowed by a restore of power, the attached hub can identify anexpected activity to resume a task associated with the electricallypowered device, based on the tracked progress of the task prior to thepower outage. For example, upon detecting that power has been restoredto IoT device 118, the attached hub can instruct IoT device to resumethe remainder of the wash cycle prior to the power outage, then beginthe next cycle in the job (e.g., the spin cycle). In addition, theattached hub can notify a user of mobile device 132 of the status of IoTdevice 118 throughout the scheduled and unscheduled tasks, as well asduring a detected power outage to inform the user of any required userintervention.

FIG. 7 depicts a block diagram, generally designated 700, of componentsof the server executing the IoT task monitor, in an embodiment inaccordance with the present invention. It should be appreciated thatFIG. 7 provides only an illustration of one implementation and does notimply any limitations with regard to the environments in which differentembodiments may be implemented. Many modifications to the depictedenvironment may be made.

Server 102 includes communications fabric 702, which providescommunications between computer processor(s) 704, memory 706, persistentstorage 708, communications unit 710, and input/output (I/O)interface(s) 712. Communications fabric 702 can be implemented with anyarchitecture designed for passing data and/or control informationbetween processors (such as microprocessors, communications and networkprocessors, etc.), system memory, peripheral devices, and any otherhardware components within a system. For example, communications fabric702 can be implemented with one or more buses.

Memory 706 and persistent storage 708 are computer readable storagemedia. In this embodiment, memory 706 includes random access memory(RAM) 714 and cache memory 716. In general, memory 706 can include anysuitable volatile or non-volatile computer readable storage media.

Operating system 722 and IoT task monitor 724 are stored in persistentstorage 708 for execution by one or more of the respective computerprocessors 704 via one or more memories of memory 706. In thisembodiment, persistent storage 708 includes a magnetic hard disk drive.Alternatively, or in addition to a magnetic hard disk drive, persistentstorage 708 can include a solid state hard drive, a semiconductorstorage device, read-only memory (ROM), erasable programmable read-onlymemory (EPROM), flash memory, or any other computer readable storagemedia that is capable of storing program instructions or digitalinformation.

The media used by persistent storage 708 may also be removable. Forexample, a removable hard drive may be used for persistent storage 708.Other examples include optical and magnetic disks, thumb drives, andsmart cards that are inserted into a drive for transfer onto anothercomputer readable storage medium that is also part of persistent storage708.

Communications unit 710, in these examples, provides for communicationswith other data processing systems or devices, including resources ofnetwork 116 IoT device 118 and mobile device 132. In these examples,communications unit 710 includes one or more network interface cards.Communications unit 710 may provide communications through the use ofeither or both physical and wireless communications links. Operatingsystem 722 and IoT task monitor 724 may be downloaded to persistentstorage 708 through communications unit 710.

I/O interface(s) 712 allows for input and output of data with otherdevices that may be connected to server 102. For example, I/O interface712 may provide a connection to external devices 718 such as a keyboard,keypad, a touch screen, and/or some other suitable input device.External devices 718 can also include portable computer readable storagemedia such as, for example, thumb drives, portable optical or magneticdisks, and memory cards. Software and data used to practice embodimentsof the present invention, e.g., operating system 722 and IoT taskmonitor 724, can be stored on such portable computer readable storagemedia and can be loaded onto persistent storage 708 via I/O interface(s)712. I/O interface(s) 712 also connect to a display 720.

Display 720 provides a mechanism to display data to a user and may be,for example, a computer monitor.

The programs described herein are identified based upon the applicationfor which they are implemented in a specific embodiment of theinvention. However, it should be appreciated that any particular programnomenclature herein is used merely for convenience, and thus theinvention should not be limited to use solely in any specificapplication identified and/or implied by such nomenclature.

The present invention may be a system, a method, and/or a computerprogram product at any possible technical detail level of integration.The computer program product may include a computer readable storagemedium (or media) having computer readable program instructions thereonfor causing a processor to carry out aspects of the present invention.

The computer readable storage medium can be a tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium may be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through a fiber-optic cable), or electrical signals transmittedthrough a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, configuration data for integrated circuitry, oreither source code or object code written in any combination of one ormore programming languages, including an object oriented programminglanguage such as Smalltalk, C++, or the like, and procedural programminglanguages, such as the “C” programming language or similar programminglanguages. The computer readable program instructions may executeentirely on the user's computer, partly on the user's computer, as astand-alone software package, partly on the user's computer and partlyon a remote computer or entirely on the remote computer or server. Inthe latter scenario, the remote computer may be connected to the user'scomputer through any type of network, including a local area network(LAN) or a wide area network (WAN), or the connection may be made to anexternal computer (for example, through the Internet using an InternetService Provider). In some embodiments, electronic circuitry including,for example, programmable logic circuitry, field-programmable gatearrays (FPGA), or programmable logic arrays (PLA) may execute thecomputer readable program instructions by utilizing state information ofthe computer readable program instructions to personalize the electroniccircuitry, in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions.

These computer readable program instructions may be provided to aprocessor of a general purpose computer, special purpose computer, orother programmable data processing apparatus to produce a machine, suchthat the instructions, which execute via the processor of the computeror other programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks. These computer readable program instructionsmay also be stored in a computer readable storage medium that can directa computer, a programmable data processing apparatus, and/or otherdevices to function in a particular manner, such that the computerreadable storage medium having instructions stored therein comprises anarticle of manufacture including instructions which implement aspects ofthe function/act specified in the flowchart and/or block diagram blockor blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof instructions, which comprises one or more executable instructions forimplementing the specified logical function(s). In some alternativeimplementations, the functions noted in the blocks may occur out of theorder noted in the Figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts or carry out combinations of special purpose hardwareand computer instructions.

Definitions

“Present invention” does not create an absolute indication and/orimplication that the described subject matter is covered by the initialset of claims, as filed, by any as-amended set of claims drafted duringprosecution, and/or by the final set of claims allowed through patentprosecution and included in the issued patent. The term “presentinvention” is used to assist in indicating a portion or multipleportions of the disclosure that might possibly include an advancement ormultiple advancements over the state of the art. This understanding ofthe term “present invention” and the indications and/or implicationsthereof are tentative and provisional and are subject to change duringthe course of patent prosecution as relevant information is developedand as the claims may be amended.

“Embodiment,” see the definition for “present invention.”

“And/or” is the inclusive disjunction, also known as the logicaldisjunction and commonly known as the “inclusive or.” For example, thephrase “A, B, and/or C,” means that at least one of A or B or C is true;and “A, B, and/or C” is only false if each of A and B and C is false.

A “set of” items means there exists one or more items; there must existat least one item, but there can also be two, three, or more items. A“subset of” items means there exists one or more items within a groupingof items that contain a common characteristic.

A “plurality of” items means there exists at more than one item; theremust exist at least two items, but there can also be three, four, ormore items.

“Includes” and any variants (e.g., including, include, etc.) means,unless explicitly noted otherwise, “includes, but is not necessarilylimited to.”

A “user” or a “subscriber” includes, but is not necessarily limited to:(i) a single individual human; (ii) an artificial intelligence entitywith sufficient intelligence to act in the place of a single individualhuman or more than one human; (iii) a business entity for which actionsare being taken by a single individual human or more than one human;and/or (iv) a combination of any one or more related “users” or“subscribers” acting as a single “user” or “subscriber.”

The terms “receive,” “provide,” “send,” “input,” “output,” and “report”should not be taken to indicate or imply, unless otherwise explicitlyspecified: (i) any particular degree of directness with respect to therelationship between an object and a subject; and/or (ii) a presence orabsence of a set of intermediate components, intermediate actions,and/or things interposed between an object and a subject.

A “module” is any set of hardware, firmware, and/or software thatoperatively works to do a function, without regard to whether the moduleis: (i) in a single local proximity; (ii) distributed over a wide area;(iii) in a single proximity within a larger piece of software code; (iv)located within a single piece of software code; (v) located in a singlestorage device, memory, or medium; (vi) mechanically connected; (vii)electrically connected; and/or (viii) connected in data communication. A“sub-module” is a “module” within a “module.”

A “computer” is any device with significant data processing and/ormachine readable instruction reading capabilities including, but notnecessarily limited to: desktop computers; mainframe computers; laptopcomputers; field-programmable gate array (FPGA) based devices; smartphones; personal digital assistants (PDAs); body-mounted or insertedcomputers; embedded device style computers; and/or application-specificintegrated circuit (ASIC) based devices.

“Automatically” means without any human intervention.

What is claimed is:
 1. A computer-implemented method comprising:providing a hub connected to an electrically powered device, wherein thehub is powered by an uninterruptible power source, and wherein the hubis adapted to monitor one or more sensors attached to the electricallypowered device; continually recording, by one or more processors of thehub, data regarding the operational state of the electrically powereddevice using the one or more sensors attached to the electricallypowered device; tracking, by one or more processors of the hub, progressof one or more tasks associated with the electrically powered device,based on the continual recording of data regarding the operational stateof the electrically powered device; upon detecting a power outagefollowed by a restore of power, identifying, by one or more processorsof the hub, an expected activity to resume a task associated with theelectrically powered device, based on the tracked progress of the taskprior to the power outage; instructing, by one or more processors of thehub, the electrically powered device to perform the expected activity toresume the task; determining, by one or more processors of the hub,trends relating to the electrically powered device using data analyticsand statistical modeling, wherein the trends include times during theday when power outages frequently occur, times during the day when poweroutages are least likely to occur, and whether the electrically powereddevice is able to automatically recover from power outages without humanintervention; performing, by one or more processors of the hub, asurvival analysis to identify an amount of time until an occurrence of apower outage for the electrically powered device; determining, by one ormore processors of the hub, a best time of day for the electricallypowered device to operate, based, at least in part, on the determinedtrends; and scheduling, by one or more processors of the hub, theelectrically powered device to operate at the determined best time ofday.
 2. The computer-implemented method of claim 1, wherein the dataregarding the operational state of the electrically powered deviceincludes: a device type of the electrically powered device, a selectedmode of operation of the electrically powered device, a start time of aselected task of the one or more tasks, and an expected end time for theselected task.
 3. The computer-implemented method of claim 1, whereintracking, by the hub, progress of one or more tasks associated with theelectrically powered device, based on the continual recording of dataregarding the operational state of the electrically powered devicecomprises: detecting, by one or more processors of the hub, a scheduledor unscheduled task on the electrically powered device; monitoring, byone or more processors of the hub, updated data relating to a status ofthe scheduled or unscheduled task; and in response to determining thatthe updated data relating to the status of the scheduled or unscheduledtask is different from stored data relating to the status of thescheduled or unscheduled task, updating, by one or more processors ofthe hub, the stored data relating to the status of the scheduled orunscheduled task to reflect the updated data.
 4. Thecomputer-implemented method of claim 1, wherein identifying, by the hub,an expected activity to resume a task associated with the electricallypowered device, based on the tracked progress of the task prior to thepower outage comprises: identifying, by one or more processors of thehub, a status of a scheduled or unscheduled task prior to the poweroutage based on previously stored data relating to the status of thescheduled or unscheduled task; and determining, by one or moreprocessors of the hub, a next task based on a normal task cycle of thescheduled or unscheduled task.
 5. The computer-implemented method ofclaim 1, further comprising: upon determining that the electricallypowered device is unable to automatically perform the expected activityto resume the task associated with the electrically powered device,transmitting, by one or more processors of the hub, a summarynotification to a mobile device of a user, wherein the summarynotification includes the expected activity to resume the taskassociated with the electrically powered device.
 6. Thecomputer-implemented method of claim 5, wherein the summary notificationfurther includes: an identification of the electrically powered deviceaffected by the power outage; a status of the electrically powereddevice before the power outage occurred; a relative distance of theelectrically powered device from the user; and a recommendation toperform the expected activity.
 7. The method of claim 6, wherein thesummary notification further includes an identification of a human thatis within a certain proximity of the electrically powered device.
 8. Acomputer program product comprising: one or more computer readablestorage media and program instructions stored on the one or morecomputer readable storage media, wherein the one or more computerreadable storage media are not transitory signals per se, the storedprogram instructions comprising: program instructions to provide a hubconnected to an electrically powered device, wherein the hub is poweredby an uninterruptible power source, and wherein the hub is adapted tomonitor one or more sensors attached to the electrically powered device;program instructions to continually record data regarding theoperational state of the electrically powered device using the one ormore sensors attached to the electrically powered device; programinstructions to track progress of one or more tasks associated with theelectrically powered device, based on the continual recording of dataregarding the operational state of the electrically powered device;program instructions to, upon detecting a power outage followed by arestore of power, identify an expected activity to resume a taskassociated with the electrically powered device, based on the trackedprogress of the task prior to the power outage; program instructions toinstruct the electrically powered device to perform the expectedactivity to resume the task; program instructions to determine trendsrelating to the electrically powered device using data analytics andstatistical modeling, wherein the trends include times during the daywhen power outages frequently occur, times during the day when poweroutages are least likely to occur, and whether the electrically powereddevice is able to automatically recover from power outages without humanintervention; program instructions to perform a survival analysis toidentify an amount of time until an occurrence of a power outage for theelectrically powered device; program instructions to determine a besttime of day for the electrically powered device to operate, based, atleast in part, on the determined trends; and program instructions toschedule the electrically powered device to operate at the determinedbest time of day.
 9. The computer program product of claim 8, whereinthe data regarding the operational state of the electrically powereddevice includes: a device type of the electrically powered device, aselected mode of operation of the electrically powered device, a starttime of a selected task of the one or more tasks, and an expected endtime for the selected task.
 10. The computer program product of claim 8,wherein the program instructions to track progress of one or more tasksassociated with the electrically powered device, based on the continualrecording of data regarding the operational state of the electricallypowered device comprise: program instructions to detect a scheduled orunscheduled task on the electrically powered device; programinstructions to monitor updated data relating to a status of thescheduled or unscheduled task; and program instructions to, in responseto determining that the updated data relating to the of the scheduled orunscheduled task is different from stored data relating to the status ofthe scheduled or unscheduled task, update the stored data relating tothe status of the scheduled or unscheduled task to reflect the updateddata.
 11. The computer program product of claim 8, wherein the programinstructions to identify an expected activity to resume a taskassociated with the electrically powered device, based on the trackedprogress of the task prior to the power outage, comprise: programinstructions to identify a status of a scheduled or unscheduled taskprior to the power outage based on previously stored data relating tothe status of the scheduled or unscheduled task; and programinstructions to determine a next task based on a normal task cycle ofthe scheduled or unscheduled task.
 12. The computer program product ofclaim 8, the stored program instructions further comprising: programinstructions to, upon determining that the electrically powered deviceis unable to automatically perform the expected activity to resume thetask associated with the electrically powered device, transmit a summarynotification to a mobile device of a user, wherein the summarynotification includes the expected activity to resume the taskassociated with the electrically powered device.
 13. The computerprogram product of claim 12, wherein the summary notification furtherincludes: an identification of the electrically powered device affectedby the power outage; a status of the electrically powered device beforethe power outage occurred; a relative distance of the electricallypowered device from the user; and a recommendation to perform theexpected activity.
 14. The computer program product of claim 13, whereinthe summary notification further includes an identification of a humanthat is within a certain proximity of the electrically powered device.15. A computer system comprising: one or more computer processors; oneor more computer readable storage media; program instructions stored onthe computer readable storage media for execution by at least one of theone or more processors, the stored program instructions comprising:program instructions to provide a hub connected to an electricallypowered device, wherein the hub is powered by an uninterruptible powersource, and wherein the hub is adapted to monitor one or more sensorsattached to the electrically powered device; program instructions tocontinually record data regarding the operational state of theelectrically powered device using the one or more sensors attached tothe electrically powered device; program instructions to track progressof one or more tasks associated with the electrically powered device,based on the continual recording of data regarding the operational stateof the electrically powered device; program instructions to, upondetecting a power outage followed by a restore of power, identify anexpected activity to resume a task associated with the electricallypowered device, based on the tracked progress of the task prior to thepower outage; program instructions to instruct the electrically powereddevice to perform the expected activity to resume the task; programinstructions to determine trends relating to the electrically powereddevice using data analytics and statistical modeling, wherein the trendsinclude times during the day when power outages frequently occur, timesduring the day when power outages are least likely to occur, and whetherthe electrically powered device is able to automatically recover frompower outages without human intervention; program instructions toperform a survival analysis to identify an amount of time until anoccurrence of a power outage for the electrically powered device;program instructions to determine a best time of day for theelectrically powered device to operate, based, at least in part, on thedetermined trends; and program instructions to schedule the electricallypowered device to operate at the determined best time of day.
 16. Thecomputer system of claim 15, wherein the data regarding the operationalstate of the electrically powered device includes: a device type of theelectrically powered device, a selected mode of operation of theelectrically powered device, a start time of a selected task of the oneor more tasks, and an expected end time for the selected task.
 17. Thecomputer system of claim 15, wherein the program instructions to trackprogress of one or more tasks associated with the electrically powereddevice, based on the continual recording of data regarding theoperational state of the electrically powered device comprise: programinstructions to detect a scheduled or unscheduled task on theelectrically powered device; program instructions to monitor updateddata relating to a status of the scheduled or unscheduled task; andprogram instructions to, in response to determining that the updateddata relating to the of the scheduled or unscheduled task is differentfrom stored data relating to the status of the scheduled or unscheduledtask, update the stored data relating to the status of the scheduled orunscheduled task to reflect the updated data.
 18. The computer system ofclaim 15, wherein the program instructions to identify an expectedactivity to resume a task associated with the electrically powereddevice, based on the tracked progress of the task prior to the poweroutage, comprise: program instructions to identify a status of ascheduled or unscheduled task prior to the power outage based onpreviously stored data relating to the status of the scheduled orunscheduled task; and program instructions to determine a next taskbased on a normal task cycle of the scheduled or unscheduled task. 19.The computer system of claim 15, the stored program instructions furthercomprising: program instructions to, upon determining that theelectrically powered device is unable to automatically perform theexpected activity to resume the task associated with the electricallypowered device, transmit a summary notification to a mobile device of auser, wherein the summary notification includes the expected activity toresume the task associated with the electrically powered device.
 20. Thecomputer system of claim 19, wherein the summary notification furtherincludes an identification of a human that is within a certain proximityof the electrically powered device.